Graphic User Interface Control Object Stylization

ABSTRACT

A method of modifying individual graphic user interface controls according to predefined settings including the steps of identifying at least one graphic user interface control object with a plurality of states and/or event handlers, assigning a user-selectable visual modification to the control object, associating the visual modification with a state of the control object, saving the assignment to a configuration file and applying the visual modification to the control object upon display of the control object in the associated state or upon firing of the associated event handler.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent Application No. 60/766,782, entitled: “Low Vision Graphic User Interface Enhancement,” filed by the same inventors on Feb. 10, 2006.

FIELD OF INVENTION

This invention relates to visual enhancements for graphic user interfaces.

BACKGROUND OF THE INVENTION

Screen magnification software such as that sold under the brand name MAGic® by Freedom Scientific, Inc. is suited for computer users with low vision, or anyone who spends extended periods of time in front of a computer screen. Screen magnification software enables a user to magnify the computer screen from 1 to many times its usual size. A user can choose from a number of different adjustable views that let the user see both a magnified and unmagnified portion of the screen at the same time.

Speech features are often used in conjunction with the magnification in processing the information on your screen. The software may read text that is typed or pointed to with the mouse. The software moves the magnified area of the screen so the user will always see the text being read and highlights words and lines as they are spoken.

Mouse and cursor enhancements help the user track the location of the mouse pointer and cursor on the screen. The user can choose from a wide variety of enhancement styles. The software lets the user change the color of these enhancements, apply transparency effects, adjust their size, and more.

Other features track elements of the screen, such as the mouse pointer, dialog boxes, and so on. A locator feature provides the user with a way to quickly find and move to different areas of the screen. A multi-directional panning system gives the user complete control with adjustable speed, direction, stop and start, and screen navigation controls.

Color enhancements let the user change how colors display on the screen. The user can create rules that replace one color with another or switch two colors. The user can also apply color tinting, make the screen monochrome, and invert the brightness and colors of the display.

One of the most difficult problems for a low-vision computer user is to find, read and invoke user controls such as checkboxes, radio buttons, dropdown lists and the like. A long-felt but heretofore unfulfilled need exists for a method to apply specific user preferences to these controls across individual software programs as well as system-wide.

SUMMARY OF INVENTION

The present invention relates to providing an enhanced and customizable visual appearance to user control objects. These control objects include, but are not limited to textboxes, buttons, dropdown lists, list boxes, combo boxes, checkboxes, checkbox lists, radio buttons, and radio button lists. In addition, similar controls may be inherited into subclasses that provide enhanced functionality according to common programming methods and architectures.

An embodiment of the invention is a method of modifying individual graphic user interface controls according to predefined settings. These settings or more likely an array of settings may be preloaded by the software provider but may also be user-defined. The steps of the method include identifying at least one graphic user interface control object with a plurality of states. These states may include, but are not limited to, checked, unchecked, selected, enabled, disabled, visible and invisible. A user-selectable visual modification to the control object is assigned. Available control object properties may vary according to the type of control and may include, but are not necessarily limited to, font size, font stylization, font name, font color, foreground color, background color, border color, border thickness, border style and text alignment. This visual modification is then associated with a state of the object. For example, when a checkbox is in the “checked” state then highlight the foreground of the control in yellow. The association of the visual modification with the state of the object is saved to a default configuration file that is applied system-wide to all software applications that will call and display the control object.

In addition to an object's state, the modification of the control object's visual properties may also be applied responsive to an event handler. Control objects may have hundreds of different event handlers, but common events include key up, key down, mouse up, mouse down, mouse over, on-focus, mouse move and the like. Furthermore, the event handler that modifies the control object's visual properties may be fired from a different control. For example, if a parent window to a control comes in focus, that on-focus event handler may invoke the modification of the child control object's visual properties. The user may define that the modifications be invoked at all times, when the parent window is in focus, when the object control itself is in focus or when a mouse-over the object control event is fired, when the user invokes a keyboard command. By giving the user this level of granularity, a user may avoid being overwhelmed by excessive visual modifications of standard controls.

In another embodiment of the invention, a user's control object settings may be customized for unique software applications. This may be necessary when a software application renames similar object controls. For example, a control normally named PasswordEdit has a functional equivalent in Microsoft Corporation's Internet Explorer web browser called PasswordWndClass. Thus, in this embodiment of the invention, a software application that displays at least one control object is identified (in this example, Internet Explorer). The visual modifications applied to the PasswordEdit control object responsive to events or state in the default configuration file are now associated with PasswordWndClass when Internet Explorer is used. If a software-specific configuration file is not found for a particular software application, then the default configuration file is used.

In addition to modifying the visual properties of the control object, a visual overlay may be applied to the control object. The visual overlay may comprise vector-based predefined geometric shapes and/or bitmap images. The overlay be composted with its background according to a predetermined algorithm. User-adjustable properties for the visual overlay may include, but are not limited to, shape, dimensions, relative position, opacity, hue, saturation, contrast, brightness, midtone, tint, animation and bitmap imaging. For example, the user may specify that a particular bitmap image overlay the control in a 50% opacity responsive to an event or a state of the control object. Alternatively, a vector based rectangle may cycle through colors when a mouse-over event is fired. The combinations of control object modifications, overlays and adjustments thereto are nearly limitless which is particularly accommodating to low-vision users whose visual preferences vary greatly.

The visual modification and/or the visual overlay be toggled on and off according to user preference. For example, the user may initiate a keystroke combination that displays or hides the visual modification. In addition, a keystroke combination may cycle through a plurality of predefined visual modification and visual overlay schemes to determine which type work best for the user's needs.

BRIEF DESCRIPTION OF THE DRAWINGS

For a fuller understanding of the invention, reference should be made to the following detailed description, taken in connection with the accompanying drawings, in which:

FIG. 1 is a screen shot of a dialog box of control display customization according to the prior art.

FIG. 2 is a diagrammatic view of an embodiment of the invention for modifying a control object's visual properties responsive to its state.

FIG. 3 is a diagrammatic view of an embodiment of the invention for modifying a control object responsive an event handler.

FIG. 4 is a diagrammatic view of an embodiment of the invention for applying a visual overlay to a control object responsive to its state.

FIG. 5 is a diagrammatic view of an embodiment of the invention for modifying a control object's visual properties and applying a visual overlay responsive to the control object's state.

FIG. 6 is a diagrammatic view of an embodiment of the invention for modifying a control object's visual properties responsive to its state and saving the settings to a configuration file specific to a unique software application.

FIG. 7 is a diagrammatic view of an embodiment of the invention showing application execution where a software-specific configuration file may or may not exist.

FIGS. 8-9 are screen shots of an embodiment of the invention applying both visual overlay and modifying a control object's properties responsive to state and events.

DETAILED DESCRIPTION

FIG. 1 shows an example of the prior art in control object customization. The dialog box is presented in various editions of the Microsoft Windows operating system to modify colors, font name and font sizes of a highly limited array of objects and object properties. There is a long-felt, but unfulfilled need to access substantially all of the visual properties of a control object and the associated states these objects may have.

In FIG. 2, a graphic user interface control object is identified 20. These may be selected from control group 25 including exemplary controls such as textbox, list box, dropdown list, checkbox and radio button. Visual modification 30 is selected from object properties modification group 35 with includes exemplary properties such as font, color, border and alignment of text. Finally, the modification of these properties is invoked responsive to state of control object 40 selected from state array 45 (checked, unchecked, selected, enabled/disabled). The association between control object 20, modification 30 and state 40 is saved to default configuration file 50.

In FIG. 3, event handler 60 having event array 65 is associated with control object 20 and modification 30. Responsive to events such as key up/down, mouse up/down, mouse hover, mouse move, on-focus and the like, modification 30 is invoked against control object 20.

In FIG. 4, visual overlay 70 selected from visual overlay group 75 is applied to control object 20 responsive to state 40. In FIG. 5, both visual modification 30 and visual overlay 70 are applied concurrently responsive to state 40 of control object 20.

In FIG. 6, an application identity 80 is established to apply visual modification 30 to control object 20 responsive to state 40. In FIG. 7, upon application execution 100, file exists method 110 is invoked to determine is application specific configuration file 90 exists. If so, then it is applied. Alternatively, default configuration file 50 is applied.

FIGS. 8-9 show a common dialog box 120 with a plurality of control objects. In FIG. 8, the focus in on a selected radio button labeled “Inches”. Visual overlay 130 is a 5-point thick dashed rectangle positioned about the Cartesian coordinates of the selected radio button. Also in FIG. 8, checkbox control object 140 is modified to overlay a bitmap check and to enlarge the font size of the control object's text property for the associated label. Upon the checkbox control coming into focus in FIG. 9, the onfocus event fires and causes rectangle 135 to overlay the checkbox control's perimeter as it did the radio button in FIG. 8. Also in FIG. 9, check bitmap overlay 145 is enlarged and the checkbox control text is also enlarged and bolded.

It will be seen that the advantages set forth above, and those made apparent from the foregoing description, are efficiently attained and since certain changes may be made in the above construction without departing from the scope of the invention, it is intended that all matters contained in the foregoing description or shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.

It is also to be understood that the following claims are intended to cover all of the generic and specific features of the invention herein described, and all statements of the scope of the invention which, as a matter of language, might be said to fall there between. Now that the invention has been described, 

1. A method of modifying individual graphic user interface controls according to predefined settings comprising the steps of: identifying at least one graphic user interface control object with a plurality of states; exposing substantially all of the control object's visual properties; assigning a user-selectable visual modification to the control object's visual properties; associating the visual modification with a state of the control object; saving the assignment to a default configuration file; and applying the visual modification to the control object upon display of the control object in the associated state.
 2. The method of claim 1 further comprising the step of toggling the visual modification on and off responsive to user preference.
 3. The method of claim 1 wherein the graphic user interface control object is selected from the group consisting of textboxes, buttons, dropdown lists, list boxes, combo boxes, checkboxes, checkbox lists, radio buttons, and radio button lists.
 4. The method of claim 1 wherein the state of the control object is selected from the group consisting of checked, unchecked, selected, enabled, disabled, visible, and invisible.
 5. The method of claim 1 wherein the visual modification is applied to control object properties selected from the group consisting of font size, font stylization, font name, font color, foreground color, background color, border color, border thickness, border style and text alignment.
 6. The method of claim 1 further comprising the steps of: identifying a software application that displays at least one control object; and saving the assignment to an application-specific configuration file associated with the identified software application; applying the application-specific configuration file for an associated executed software application; and defaulting to the default configuration file for a software application lacking an associated application-specific configuration file.
 7. A method of modifying individual graphic user interface controls according to predefined settings comprising the steps of: identifying at least one graphic user interface control object; assigning a user-selectable visual modification to the control object; associating the visual modification with an event handler; saving the assignment to a default configuration file; and applying the visual modification to the control object responsive to the firing of the associated event.
 8. The method of claim 7 further comprising the step of toggling the visual modification on and off responsive to user preference.
 9. The method of claim 7 wherein the graphic user interface control object is selected from the group consisting of textboxes, buttons, dropdown lists, list boxes, combo boxes, checkboxes, checkbox lists, radio buttons, and radio button lists.
 10. The method of claim 7 wherein the visual modification is applied to control object properties selected from the group consisting of font size, font stylization, font name, font color, foreground color, background color, border color, border thickness, border style and text alignment.
 11. The method of claim 7 further comprising the steps of: identifying a software application that displays at least one control object; and saving the assignment to an application-specific configuration file associated with the identified software application; applying the application-specific configuration file for an associated executed software application; and defaulting to the default configuration file for a software application lacking an associated application-specific configuration file.
 12. A method of applying visual indicia to individual graphic user interface controls comprising the steps of: identifying at least one graphic user interface control object with a plurality of states; assigning a user-selectable visual overlay to the control object; associating the visual overlay with a state of the control object; saving the assignment to a default configuration file; and applying the visual overlay to the control object upon display of the control object in the associated state.
 13. The method of claim 12 further comprising the step of toggling the visual overlay on and off responsive to user preference.
 14. The method of claim 12 wherein the graphic user interface control object is selected from the group consisting of textboxes, buttons, dropdown lists, list boxes, combo boxes, checkboxes, checkbox lists, radio buttons, and radio button lists.
 15. The method of claim 12 wherein the state of the control object is selected from the group consisting of checked, unchecked, selected, enabled, disabled, visible, and invisible.
 16. The method of claim 12 wherein the visual overlay is applied to the control object is selected from the group consisting of vector-based predefined geometric shapes and bitmap images.
 17. The method of claim 16 wherein the visual overlay is composted with its background according to a predetermined algorithm.
 18. The method of 16 wherein the visual overlay further comprises user-adjustable properties selected from the group consisting of shape, dimensions, relative position, opacity, hue, saturation, contrast, brightness, midtone, tint, animation and bitmap image.
 19. The method of claim 12 further comprising the steps of: identifying a software application that displays at least one control object; and saving the assignment to an application-specific configuration file associated with the identified software application; applying the application-specific configuration file for an associated executed software application; and defaulting to the default configuration file for a software application lacking an associated application-specific configuration file.
 20. A method of applying visual indicia to individual graphic user interface controls comprising the steps of: identifying at least one graphic user interface control object with a plurality of states; assigning a user-selectable visual overlay to the control object; associating the visual overlay with an event handler; saving the assignment to a default configuration file; and applying the visual overlay to the control object responsive to the firing of the associated event.
 21. The method of claim 20 further comprising the step of toggling the visual overlay on and off responsive to user preference.
 22. The method of claim 20 wherein the graphic user interface control object is selected from the group consisting of textboxes, buttons, dropdown lists, list boxes, combo boxes, checkboxes, checkbox lists, radio buttons, and radio button lists.
 23. The method of claim 20 wherein the visual overlay is applied to the control object is selected from the group consisting of vector-based predefined geometric shapes and bitmap images.
 24. The method of claim 23 wherein the visual overlay is composted with its background according to a predetermined algorithm.
 25. The method of 23 wherein the visual overlay further comprises user-adjustable properties selected from the group consisting of shape, dimensions, relative position, opacity, hue, saturation, contrast, brightness, midtone, tint, animation and bitmap image.
 26. The method of claim 20 further comprising the steps of: identifying a software application that displays at least one control object; and saving the assignment to an application-specific configuration file associated with the identified software application; applying the application-specific configuration file for an associated executed software application; and defaulting to the default configuration file for a software application lacking an associated application-specific configuration file. 